package com.kaifamiao.sorted;

public class Tree<E> {

    private Node<E> root;
    private int count;

    public boolean isEmpty(){
        return count == 0;
    }

    public int size(){
        return count;
    }

    /**
     * 将指定项目添加到二叉树上
     * @param item 被添加的项目
     * @return 仅当添加成功时返回true (若被添加项目已经存在于二叉树上则不能添加因此返回false)
     */
    public boolean add( E item ) {
        // 要通过比较来确定 项目应该放在哪个位置
        count++;
        return false;
    }

    /**
     * 前序遍历二叉树并返回字符串形式
     * @return
     */
    public String preorder(){
        return null;
    }

    public String inorder(){
        return null;
    }

    public String postorder(){
        return null;
    }

    @Override
    public String toString(){
        return this.inorder();
    }

    private static class Node<E> {
        E item;
        Node<E> left;
        Node<E> right;
        Node<E> parent;
        Node( E item, Node<E> parent ){
            this.item = item;
            this.parent = parent;
        }
        @Override
        public String toString() {
            return item == null ? "null" : item.toString() ;
        }
    }

}
